home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
- SPEEDREAD 2.0
-
-
- A Disk Caching Program for PC Compatibles
- ____________________________________________________________________
-
-
- * Easy to use.
- * Improves disk access times.
- * Installs automatically during system initialization.
- * Invisible to all other software.
- * Works on PC compatibles running MS-DOS with fixed disks.
- * Number of buffers used is selectable during initialization.
- * High performance record look-up.
- * Cached records can have optional checksum attached to them.
- * Optional write caching.
- * Read-ahead.
- * Concurrent caching.
- * Directory locking.
- * Statistics of operation can be displayed.
-
-
-
-
-
-
-
-
- WHAT IS SPEEDREAD?
- _____________________________________________________________________
- SPEEDREAD is a program that may be automatically loaded into the PC
- compatible's memory during the system startup. As the system is used ,
- SPEEDREAD monitors how often certain parts of the disk are used and
- copies the most recently used parts into its internal buffers. If the PC
- attemps to read the data again, SPEEDREAD retrieves the data from its
- buffers instead of the disk, speeding the transfer.
-
-
- SPEEDREAD is not a RAM disk or VDISK. Although it stores data in main
- memory (just like a RAM disk), it does not require that all of the files
- that you will be using be pre-loaded into memory. Also, there is no limit
- to the number or size of files. This is because SPEEDREAD determines what
- files or parts of files or directories should be loaded into memory
- automatically. Unlike a RAM disk, SPEEDREAD saves all data to the disk so
- there is never a danger of data loss during power failures. After you
- install SPEEDREAD you can use your hard disk and all its associated
- software without modification. The only difference is that disk access
- will be faster.
-
-
-
-
-
-
-
-
-
-
-
-
- SPEEDREAD Performance
- _________________________________________________________________________
-
- How much faster can SPEEDREAD make your system? It takes SPEEDREAD less
- than two milliseconds (on an 5 MHz 8088) to retrive any record of data
- already in its memory. Compared to the average access time of some drives
- of about 150 milliseconds, SPEEDREAD could improve performance of certain
- operations by a factor of 70! SPEEDREAD also improves average latency
- delays by 300% and sequential accesses by 50%. Of course, if the requested
- record cannot be found in memory, there is no improvement in speed and a
- small delay will be incured as SPEEDREAD copies the missing record.
-
- SPEEDREAD can work with large amounts of memory without slowing down. The
- amount of time it takes to find a record in memory is unrelated to how
- much memory is dedicated to SPEEDREAD. In general, the more memory made
- available to SPEEDREAD, the faster the system will go.
-
-
- SETTING UP SPEEDREAD
- __________________________________________________________________
- SPEEDREAD is normally set up during the system initialization by
- including SPEEDREAD system commands in the AUTOEXEC.BAT file. To
- initialize SPEEDREAD and select how much memory it will use, enter the
- following command into your AUTOEXEC.BAT file:
-
- SR 300
-
- This will initialize SPEEDREAD allow it to use 300 disk buffers. The
- minimum allowable number of buffers that you may specify is 64 and
- maximum is limited by MS-DOS and the application program you are running
- ( this could be as high as 900 buffers ). Each buffer takes up
- approximately 550 bytes of space. You should allocate as many buffers as
- possible for maximum performance.
-
- If you have any difficulty installing SPEEDREAD, try renaming your
- AUATOEXEC.BAT file to something else and install SPEEDREAD by hand. If
- this works, you may have to juggle SPEDREAD's position in the AUTOEXEC
- file.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- SPEEDREAD OPTIONS
- _________________________________________________________________________
-
- SPEEDREAD has a number of options that you can use once it is running.
- All these options may be used in the AUTOEXEC.BAT file. These options
- allow you to fine tune SPEEDREAD for your system and to request SPEEDREAD
- performance statistics.
-
- WRITE CACHING
- you may select whether disk blocks which are written are also cached.
- SPEEDREAD defaults to not caching blocks that are written, though you may
- enable this feature if you do a lot of immediate reading of data that
- was just written to disk. A good example of this is the MS-DOS piping
- system, since the 'pipes' are actually disk files. To enable and disable
- caching of writes,type:
-
- SR WRITE ON
- SR WRITE OFF
-
- CACHE CHECKSUMMING
- For extra data integrity, SPEEDREAD can checksum each sector in the
- cache. This can be especially handy if you are in a development
- environment where program errors can cause acacidental writes to memory.
- If a record is found to have a checksum error, it is purged from the
- cache, a read is made from disk to fetch the correct record and the
- checksum error count is incremented. Reading and writing checksummed
- records takes about a millisecond longer an a XT, but sometimes the wait
- is worth it. SPEEDREAD defaults to no checksums. The checksum control
- commands are:
-
- SR CHECK ON
- SR CHECK OFF
-
- You may notice a pause if you enable checksumming when there are many
- cached records. This is because SPEEDREAD has to scan through the entire
- cache calculating checksums for all the active records.
-
- READ-AHEAD
- MS-DOS reads sequential files quite efficienly if the application program
- reads many blocks at a time. Unfortunately, some application programs do
- not do their own file buffering. Instead they read sequential files block
- by block, one record at a time. This causes considerable delays due to
- disk latency. If multiple files are being read one block at a time, this
- can cause seek for every block read. SPEEDREAD optionally can do the
- buffering for applications that don't do their own buffering. If
- SPEEDREAD detect that a sequential file has been opened that is being
- read one block at a time, it will read ahead a number of blocks and place
- them into cache. The actual number of blocks varies from 7 to 16
- depending on SPEEDREAD's current configuration. SPEEDREAD defaults to
- read-ahead. The read-ahead commands are:
-
- SR READAHEAD ON or SR RA ON
- SR READAHEAD OFF or SR RA OFF
-
-
-
-
-
-
-
-
-
-
- CONCURRENT CACHING
- Whenever missed data is read from the disk, SPEEDREAD copies the data
- into its internal buffers. The copying usually happens immediately after a
- read from the disk. During a DMA disk transfer, the computer's
- microprocessor is usually sitting idle. If the concurrent caching option
- is selected, SPEEDREAD will copy disk blocks unto its internal buffers
- while the DMA transfer from the disk is happening. This saves time
- because most of the disk blocks will typically be already copied into
- SPEEDREAD's buffers at the end of the disk transfer. In order for
- concurrent caching to work, the disk controller must be equippeda with a
- Westren Digital concurrent caching BIOS. Without this BIOS, no
- concurrent caching is possible. SPEEDREAD defaults to concurrent caching.
- The concurrent caching commands are:
-
- SR CONCURRENT ON or SR CON ON
- SR CONCURRENT OFF or SR CON OFF
-
- DIRECTORY LOCKING
- SPEEDREAD can lock certain MS-DOS disk directories into cache. This
- allows you to selectively nominate certain disk directories for permanent
- inclusion into the cache. Good candidates for this might be the
- directories that are part of the PATH command. These directories get
- searched every time a command is executed from the MSDOS prompt. to lock
- a directory, type:
-
- SR LOCK C:\BIN\UTILITY
-
- SPEEDREAD will lock all the records in the root directory and \BIN that
- are used to arrive at \BIN\UTILITY. After those records are locked, all
- the directory entries in UTILITY will be locked. Note that the path need
- not be complete. If you are logged into a subdirectory already, SPEEDREAD
- will lock all the records from the root directory up to your current
- directory. To unlock directory records, type:
-
- UNLOCK
-
- SPEEDREAD will unlock all directories that have been cached. SPEEDREAD
- does not delete these directory entries from the cache. If they remain
- unused, they will be deleted by normal cache attrition. Normally it will
- not be necessary to lock direcrories into SPEEDREAD because SPEEDREAD
- will automatically load directories into its buffers if they are used
- frequently enough. In fact, if you lock too many directory buffers, it
- will inhibit SPEEDREAD's automatic buffer allocation scheme and cause
- impaired performance.
-
- CLEARING CACHE or MOUNTING DISKS
- All records in SPEEDREAD can be cleared. You 'MUST' do this if you change
- a removable 'fixed' disk. If this is not done, severe damage may be done
- to the file structure, since MS-DOS cannot sense that the media was
- changed. Two synonymous commands for this one function are supported:
-
- SR CLEAR
- or
- SR MOUNT
-
-
-
-
-
-
-
-
-
-
- ON and OFF
- SPEEDREAD can be turned on and off after it has been installed. This is
- handy especially for doing performance evaluations. Whenever SPEEDREAD is
- turned on, all the records in cache are cleared. Note that when SPEEDREAD
- is turned off, it and its buffers remain resident. to turn off SPEEDREAD,
- type:
-
- SR OFF
-
- To re-enable cache operations, type:
-
- SR ON
-
-
- STATISTICS
- SPEEDREAD can display a number of interesting statistics. Included are
- the number of reads, writes, total number of accesses, the number of
- hits, misses, the hit ratio, the number of blocks read-ahead and
- concurrent cached. Diagnostic statistics include the number of random
- allocations, checksum errors, cache clears, and the number of locked and
- unlocked buffers. Optionally a queue bitmap and a list of active records
- in cache can be displayed in drive, cylinder, head, and sector format. To
- display statistics type:
-
- SR STAT
-
-
- HELP
- In case you forget a command and forget this supplement, a help screen
- can be displayed by typing:
-
- SR HELP
-
-
- FINE TUNING SPEEDREAD
- Of course, SPEEDREAD will work just fine by installing it with 200 or 300
- buffers, but by experimenting with it a little bit, you can get even
- greater performance.
-
-
- NUMBER OF MS-DOS BUFFERS
- MS-DOS has its own built in caching system. It is used mainly for
- directory operations and for reading and writing partial disk records.
- The buffer look up system appears to be a sequential search, so if you
- have too many buffers allocated, certain operations (especially partial
- record reads and writes) are slowed. When running SPEEDREAD it usually is
- a good idea to reduce the number of MS-DOS buffers to no more than 12 on
- an XT. More buffers (maybe 30) may be specified on 80286 and 80386
- machines.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- NUMBER of SPEEDREAD BUFFERS
- This one parameter will do more for increasing the performance of
- SPEEDREAD than any other. To select the optimum number of buffers,
- increase the number of buffers every so often. When you notice that
- certain applications complain that there is not enough memory, reduce the
- number of SPEEDREAD buffers. When you find a number of buffers that seems
- to be optium, use the SR STAT command to see how many Random Allocations
- are being made. SPEEDREAD is sometimes forced to do random allocations
- when an internal buffer cannot be released by normal cache attrition. If
- more than a few random allocations are being made in several hours of
- computer use, try reducing the number of buffers by 1. To mininize the
- number of random allocations, this may have to be repeated more than
- once.
-
- DISABLING CONCURRENT CACHING
- If your disk controller is not equiped with a Westren Digital concurrent
- caching BIOS, concurrent caching will be non-operational. The operational
- status of concurrent caching can be verified by looking at the number
- under "Concurrent Caches" in the status screen. If this number is zero,
- chances are good that you do not have the proper BIOS. In this case, you
- might want to disable concurrent caching for slightly improved
- performance.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ERROR MESSAGES
- _________________________________________________________________________
-
- You must have DOS version 2.0 or better to run SPEEDREAD.
-
- Your version of DOS is obsolete. SPEEDREAD requires DOS 2.X or 3.X
-
-
- Winchester controller not installed or cannot return current parameters.
-
- SPEEDREAD could not find your hard disk controller. This indicates that
- your computer did not try to install your hard drive or you are
- having hardware problems in your controller.
-
-
- Illegal number of buffers specified for this installation.
-
- None of SPEEDREAD's other commands can be excercised until SPEEDREAD is
- installed. To install SPEEDREAD you must type SR and a number of buffers.
- See installation instructions.
-
-
- This version of MS-DOS does not work with Read-ahead.
-
- SPEEDREAD requires that MS-DOS installs a special driver that the
- shortcomings of the DMA addressing design in fixed disk BIOS. To use
- Read-ahead, you must upgrade to a more current copy of MS-DOS. If you
- decide to retain your old MS-DOS, all SPEEDREAD's other features will
- remain operational.
-